﻿/**
 * @name umi 的路由配置
 * @description 只支持 path,component,routes,redirect,wrappers,name,icon 的配置
 * @param path  path 只支持两种占位符配置，第一种是动态参数 :id 的形式，第二种是 * 通配符，通配符只能出现路由字符串的最后。
 * @param component 配置 location 和 path 匹配后用于渲染的 React 组件路径。可以是绝对路径，也可以是相对路径，如果是相对路径，会从 src/pages 开始找起。
 * @param routes 配置子路由，通常在需要为多个路径增加 layout 组件时使用。
 * @param redirect 配置路由跳转
 * @param wrappers 配置路由组件的包装组件，通过包装组件可以为当前的路由组件组合进更多的功能。 比如，可以用于路由级别的权限校验
 * @param name 配置路由的标题，默认读取国际化文件 menu.ts 中 menu.xxxx 的值，如配置 name 为 login，则读取 menu.ts 中 menu.login 的取值作为标题
 * @param icon 配置路由的图标，取值参考 https://ant.design/components/icon-cn， 注意去除风格后缀和大小写，如想要配置图标为 <StepBackwardOutlined /> 则取值应为 stepBackward 或 StepBackward，如想要配置图标为 <UserOutlined /> 则取值应为 user 或者 User
 * @doc https://umijs.org/docs/guides/routes
 */
export default [

  // 登录界面
  {
    path: '/login',
    name: "login",
    layout: false,
    component: './User/Login',
  },

  // 首次登录，强制修改密码界面
  {
    name: 'user-first-login',
    layout: false,
    path: '/user/firstLogin',
    component: './User/Login/FirstLogin',
  },

  // 系统管理页面
  {
    path: '/user',
    layout: true,
    routes: [
      // 当访问模块主路径时，默认跳转页面
      {
        path: '/user',
        redirect: '/User/list',
      },

      // 用户列表管理（增删改查）
      {
        path: '/user/list',
        name: 'user-list',
        layout: true, // 是否渲染菜单，header，
        component: './User/List',
      },
      // 菜单管理（增删改查）
      {
        path: '/user/menu',
        name: 'user-menu',
        layout: true, // 是否渲染菜单，header，
        component: './User/Menu',
      },
      // 日志管理（增删改查）
      {
        path: '/user/logs',
        name: 'user-log',
        layout: true, // 是否渲染菜单，header，
        component: './User/Log',
      },
      // 文件管理（删查）
      {
        path: '/user/files',
        name: 'user-file',
        layout: true, // 是否渲染菜单，header，
        component: './User/File',
      },

      // 用户设置（右上角用户菜单）
      {
        name: 'user-settings',
        layout: true,
        path: '/user/account/settings',
        component: './User/Account/settings',
      },
    ],
  },

  // 首页
  {
    name: 'analyse',
    layout: true,
    path: '/',
    component: './Analyse',
  },

  // 收入记账
  {
    name: 'income',
    layout: true,
    path: '/income',
    component: './Income',
  },

  // 支出记账
  {
    name: 'payment',
    layout: true,
    path: '/payment',
    component: './Payment',
  },

  // 借出记账
  {
    name: 'lend',
    layout: true,
    path: '/lend',
    component: './Lend',
  },

  // 借入记账
  {
    name: 'owe',
    layout: true,
    path: '/owe',
    component: './Owe',
  },

  // 收入流水
  {
    name: 'incomeLogs',
    layout: true,
    path: '/logs/income',
    component: './IncomeLogs',
  },

  // 支出流水
  {
    name: 'paymentLogs',
    layout: true,
    path: '/logs/payment',
    component: './PaymentLogs',
  },

  // 借钱流水
  {
    name: 'lendLogs',
    layout: true,
    path: '/logs/lend',
    component: './LendLogs',
  },

  // 欠债流水
  {
    name: 'OweLogs',
    layout: true,
    path: '/logs/owe',
    component: './OweLogs',
  },

  // 404页
  {
    path: '*',
    layout: true,
    component: './404',
  },

  // 以下为移动端页面路由
  // 登录界面
  {
    path: '/m/login',
    name: "login",
    layout: false,
    component: './m/User/Login',
  },

  // 首页，导航
  {
    path: '/m',
    redirect: '/m/analyse',
  },

  // 统计分析图表
  {
    path: "/m/analyse",
    layout: false,
    component: './m/Analyse'
  },

  // 流水
  {
    path: "/m/moneyLogs",
    layout: false,
    component: './m/GlobalPaymentLogs'
  },

  // 记一笔
  {
    path: "/m/addLogs",
    layout: false,
    component: './m/AddPaymentOrIncome'
  },

  // 往来
  {
    path: "/m/lendOrOwe",
    layout: false,
    component: './m/AddLendOrOwe'
  },

  // 我的
  {
    path: "/m/myProfile",
    layout: false,
    component: './m/User/MyProfile',
  },

  // 首次登录，强制修改密码界面
  {
    name: 'user-first-login',
    layout: false,
    path: '/m/user/firstLogin',
    component: './m/User/Login/FirstLogin',
  }
];
